package cn.signalpha.modules.shop.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 视图实体类
 *
 * @author signalpha
 */
@Data
@ApiModel(value = "PlaceVO对象", description = "分销员")
public class PlaceVO {
	private static final long serialVersionUID = 1L;

	@Data
	public static class TotalVO implements Serializable {
		private static final long serialVersionUID = 1L;
		@ApiModelProperty(value = "用户数")
		private Long userNum;
		@ApiModelProperty(value = "订单数")
		private Long orderNum;
		@ApiModelProperty(value = "订单佣金")
		private Double orderAmount;
		@ApiModelProperty(value = "订单实付")
		private Double orderPrice;
	}

	@Data
	public static class SellerVO implements Serializable {
		private static final long serialVersionUID = 1L;
		@ApiModelProperty(value = "商户id")
		private Long sellerId;
		@ApiModelProperty(value = "商户名称")
		private String sellerName;
		@ApiModelProperty(value = "商户名称")
		private String sellerLogo;
		@ApiModelProperty(value = "商户评分")
		private Integer sellerScore;
		@ApiModelProperty(value = "订单数")
		private Long orderNum;
		@ApiModelProperty(value = "订单佣金")
		private Double orderAmount;
	}

	@Data
	public static class SettleOrderVO implements Serializable {
		private static final long serialVersionUID = 1L;
		@ApiModelProperty(value = "总佣金")
		private Double total;
		@ApiModelProperty(value = "冻结佣金")
		private Double total1;
		@ApiModelProperty(value = "累计到账")
		private Double total2;
	}

	@Data
	public static class UserVO implements Serializable {
		private static final long serialVersionUID = 1L;
		@ApiModelProperty(value = "用户id")
		private Long id;
		@ApiModelProperty(value = "用户昵称")
		private String nickName;
		@ApiModelProperty(value = "用户头像")
		private String avatar;
		@ApiModelProperty(value = "绑定时间")
		private Date bindingTime;
		@ApiModelProperty(value = "是否分销员")
		private Integer isPlace;
		@ApiModelProperty(value = "用户数")
		private Long userNum;
		@ApiModelProperty(value = "订单数")
		private Long orderNum;
		@ApiModelProperty(value = "订单佣金")
		private Double orderAmount;
	}


	@Data
	public static class RankVO implements Serializable {
		private static final long serialVersionUID = 1L;
		@ApiModelProperty(value = "用户id")
		private Long id;
		@ApiModelProperty(value = "用户昵称")
		private String nickName;
		@ApiModelProperty(value = "用户头像")
		private String avatar;
		@ApiModelProperty(value = "佣金")
		private Double total;
		@ApiModelProperty(value = "排名")
		private Long totalRank;

	}

}
